package test;

import org.xmap.app.Env;
import org.xmap.ui.View;
import org.xmap.ui.ViewManager;
import org.xmap.ui.base.Window;
import org.xmap.ui.control.TextArea;

public class TextAreaView extends View {

    private TextArea ta;

    public TextAreaView(View back) {
        super(back);
//        this.setBgColor(0xff98b7ef);
        this.setTitleText("文本区域控件演示");
        this.ta = new TextArea(0, 0, 0, 0);
        this.ta.setScretchMode(Window.SCRETCH_ROW | Window.SCRETCH_COLUMN);
        this.ta.setBgColor(0xffffff88);
        this.addControls(ta);
        this.ta.addText("这是个文本区域控件演示，选择“改变屏幕”菜单可以查看文本区域控件文本内容的自动排版，选择“对齐方式”菜单下的子菜单可以设置文本区域控件的对齐方式，选择“随机文字高度”可以设置文本区域控件的文本的高度，选择“随机文字颜色”可以设置文本区域控件的文本的颜色，选择“背景模式”菜单下的子菜单可以设置背景为透明或不透明，选择“添加文本”菜单可以向文本区域控件添加短文本和长文本。");
        this.addLeftMenu("改变屏幕");
//        this.addLeftMenu("边框模式", new String[] {"边框显示", "边框隐藏"});
        this.addLeftMenu("对齐方式", new String[]{"左对齐", "居中对齐", "右对齐"});
        this.addLeftMenu("随机文字高度");
        this.addLeftMenu("随机文字颜色");
        this.addLeftMenu("背景模式", new String[]{"背景透明", "背景可见"});
        this.addLeftMenu("添加文本", new String[]{"短文本", "长文本"});
        this.setRightMenu("返回");
    }
//    public void timeInterrupted() {
//        this.ta.setTextColor((int) System.currentTimeMillis());
//    }
//    public boolean keyEvent(boolean flag, int keyCode, int gameAction) {
//        if (flag) {
//            Env.screenWidth = (int) (Math.abs(System.currentTimeMillis()) % ViewManager.instance.getWidth());
//            Env.screenHeight = (int) (Math.abs(System.currentTimeMillis()) % ViewManager.instance.getHeight());
//            return true;
//        } else {
//            return false;
//        }
//    }

    public void commandEvent(String command, Window sender) {
        if (command.equals("改变屏幕")) {
            int screenWidth = ViewManager.instance.getWidth();
            if (Env.instance.screenWidth == screenWidth) {
                int delta = (int) (Math.abs(System.currentTimeMillis()) % 50);
                Env.instance.screenWidth = screenWidth - delta;
            } else {
                Env.instance.screenWidth = screenWidth;
            }
//            this.ta.setLineColor((int) System.currentTimeMillis());
//        } else if (command.equals("边框显示")) {
//            this.ta.setDrawRect(true);
//        } else if (command.equals("边框隐藏")) {
//            this.ta.setDrawRect(false);
        } else if (command.equals("左对齐")) {
            this.ta.setAlign(Window.ALIGN_LEFT);
        } else if (command.equals("居中对齐")) {
            this.ta.setAlign(Window.ALIGN_CENTER);
        } else if (command.equals("右对齐")) {
            this.ta.setAlign(Window.ALIGN_RIGHT);
        } else if (command.equals("随机文字高度")) {
            int textHeight = Math.abs((int) System.currentTimeMillis()) % 20;
            textHeight += 20;
            this.ta.setRowHeight(textHeight);
        } else if (command.equals("随机文字颜色")) {
//            this.ta.setTextColor(XmapDemo.getRandomColor());
        } else if (command.equals("背景透明")) {
            this.ta.setTransparent(true);
        } else if (command.equals("背景可见")) {
            this.ta.setTransparent(false);
        } else if (command.equals("短文本")) {
            this.ta.addText("这是短文本。");
        } else if (command.equals("长文本")) {
            this.ta.addText("这是一个超长的文本，添加这个文本将导致换行，就算是屏幕再宽的手机屏幕也会导致换行。");
        } else if (command.equals("返回")) {
            int screenWidth = ViewManager.instance.getWidth();
            if (Env.instance.screenWidth != screenWidth) {
                Env.instance.screenWidth = screenWidth;
            }
            ViewManager.instance.setView(this.back, View.ANIMATION_LEFT_TO_RIGHT);
        }
    }
}
